import axios from 'axios';

class HttpService {
    constructor() {
        // 创建一个axios实例
        this.axiosInstance = axios.create({
            // 可以在这里设置一些全局配置，例如baseURL、headers等
            baseURL: 'http://localhost:8081',
            timeout: 50000, // 请求超时时间
        });

        // 请求拦截器，可以在请求发出之前做一些处理
        this.axiosInstance.interceptors.request.use(
            (config) => {
                // 在发送请求之前做些什么
                // 例如，可以在请求头中加入token等
                // config.headers['Authorization'] = 'Bearer ' + localStorage.getItem('token');
                return config;
            },
            (error) => {
                // 对请求错误做些什么
                return Promise.reject(error);
            }
        );

        // 响应拦截器，可以在接收到响应后做一些处理
        this.axiosInstance.interceptors.response.use(
            (response) => {
                // 对响应数据做点什么
                return response.data;
            },
            (error) => {
                // 对响应错误做点什么
                return Promise.reject(error);
            }
        );
    }

    // 封装get请求
    get(url, params = {}) {
            return this.axiosInstance.get(url, { params });
    }

    // 封装post请求
    post(url, data = {}) {
        return this.axiosInstance.post(url, data);
    }

    // 封装其他请求方式，例如put、delete等

}

export default new HttpService();
